#!/usr/bin/env bash
# 发布方法：
#  1. 执行mvn deploy 将文件发布到本地磁盘
#  2. 将本地磁盘文件提交到Github仓库
#  通常可以可以正常下载，如遇傻逼代理ssl报错请添加：
#  -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true

SCRIPT_DIR=$(
  cd $(dirname "$0")
  pwd
)

GIT_PATH=f:/git/maven-gitlab/

version() {
  # 读取版本行，去空格
  version=$(cat "${SCRIPT_DIR}"/parent/pom.xml | grep '<revision>' | sed "s/^[ \s]\{1,\}//g;s/[ \s]\{1,\}$//g")
  version=${version#*>} #消除左前缀<version[>]
  version=${version%<*} #消除右后缀[<]\version>
  echo "$version"
}

cd ${GIT_PATH}
git pull
cd "${SCRIPT_DIR}"
if [ -n "$1" ]; then
  mvn deploy -DaltDeploymentRepository=maven-gitlab::default::file:${GIT_PATH} -Drevision="$1"
else
  mvn deploy -DaltDeploymentRepository=maven-gitlab::default::file:${GIT_PATH} -Drevision=$(version)
fi
cd ${GIT_PATH}
git add -A && git commit -m "update" && git push
echo "推送成功!"

# Direct Command：
# 本地安装：
# mvn install -Drevision=version-test
# 远程部署
# mvn deploy -DaltDeploymentRepository=maven-gitlab::default::file:f:/git/maven-gitlab/ -Drevision=version-test
